//package com.mq.kafkamain;
//
//import com.alibaba.fastjson.JSON;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.kafka.clients.producer.KafkaProducer;
//import org.apache.kafka.clients.producer.ProducerRecord;
//
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Properties;
//import java.util.UUID;
//
///**
// * kafka生产者帮助类
// *
// *   private static final KafkaProducer<String, String> PRODUCER = new KafkaProducerBuilder()
// *   .host("localhost:9092")
// *   .retries(0)
// *   .create();
// *
// *   可以用spring bean方式
// * @author cl
// */
//public class KafkaProducerBuilder {
//    /**
//     * kafka地址
//     */
//    private String[] bootstrapServers = new String[]{"localhost:9092"};
//    /**
//     * 重试次数
//     */
//    private int retries = 0;
//
//
//    public com.sunsea.util.kafka.KafkaProducerBuilder host(String... bootstrapServers) {
//        this.bootstrapServers = bootstrapServers;
//        return this;
//    }
//    public com.sunsea.util.kafka.KafkaProducerBuilder retries(int retries) {
//        this.retries = retries;
//        return this;
//    }
//
//    public KafkaProducer<String, String> create() {
//        Properties props = new Properties();
//        props.put("bootstrap.servers", StringUtils.join(bootstrapServers, ","));
//        props.put("acks", "all");
//        props.put("retries", retries);
//        props.put("batch.size", 16384);
//        props.put("linger.ms", 1);
//        props.put("buffer.memory", 33554432);
//        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
//        return new KafkaProducer<String, String>(props);
//    }
//    private static final KafkaProducer<String, String> PRODUCER = new com.sunsea.util.kafka.KafkaProducerBuilder()
//               .host("localhost:9092")
//                   .retries(0)
//                  .create();
//    public static void main(String[] args) throws IOException {
//        long l = System.currentTimeMillis();
//        int i = 0;
//        for (;;) {
//            HashMap<Object, Object> params = new HashMap<>();
//            params.put("id", UUID.randomUUID().toString());
//            params.put("createTime", l + (i++) * (10 * 60 * 1000));
//            PRODUCER.send(new ProducerRecord<>("test1", JSON.toJSONString(params)));
//            try {
//                Thread.sleep(1000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//        }
//        //不加发送不出去 可能会提前关闭
//    }
//}
